package org.fenixsoft.classloading;

/**
 * @program: jvm_test
 * @description: 非主动使用字段演示
 * @author: zxb
 * @date: 2020-12-25 22:28
 **/
public class NotInitalization {
    public static void main(String[] args) {

 //       使用别动字段演示一：
 //           通过子类引用 父类的静态字段，不会导致子类初始化
//        System.out.println(SubClass.value);


        // 通过数组使用类字段演示二：
        //      通过定义数组定义来引用 类，不会触发此类的初始化
//        SuperClass[] sca = new SuperClass[10];

        // 被动使用类字段演示三：
        //       常量在编译阶段会存入调用类的常量池中，本质上并没有直接引用到定义常量的类，因此补货触发定义常量的类的初始化
        System.out.println(ConsClass.HELLOWORLD );

    }
}
